home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource5 / 346_01 / t6816l.asm < prev    next >
Assembly Source File  |  1991-02-10  |  3KB  |  119 lines

  1.     .sbttl    Assembler Link Tests
  2.  
  3.     .module    t6816l
  4.  
  5.     ; This file and TCONST.ASM should be assembled and linked.
  6.     ;
  7.     ; AS6816 -XGOL T6816L
  8.     ; AS6816 -XGOL TCONST
  9.     ;
  10.     ; ASLINK -C
  11.     ; -XMS
  12.     ; T6816L
  13.     ; TCONST
  14.     ; -E
  15.     ;
  16.     ; The following tests verify the correct processing of
  17.     ; index mode offsets and branches.
  18.     ;
  19.     ; *L signifies an error will be reported at link time.
  20.  
  21.     ; branch test must be first
  22.  
  23.     .area    TEST    (ABS,OVR)
  24.  
  25.     .blkb    0x7E        ;bra1:
  26.     bra    bra1        ;   B0 00  [B0 80]
  27.     .blkb    0x80        ;bra2:
  28.     bra    bra2        ;*L B0 00  [B0 7E]
  29.     bra    bra3        ;   B0 00  [B0 7E]
  30.     .blkb    0x7E
  31.     .blkb    0x00        ;bra3:
  32.     bra    bra4        ;*L B0 00  [B0 80]
  33.     .blkb    0x80
  34.     .blkb    0x00        ;bra4:
  35.  
  36.     .blkb    0x7E        ;bra5:
  37.     bra    bra5        ;   B0 00  [B0 80]
  38.     .blkb    0x80        ;bra6:
  39.     bra    bra6        ;*L B0 00  [B0 7E]
  40.     bra    bra7        ;   B0 00  [B0 7E]
  41.     .blkb    0x7E
  42.     .blkb    0x00        ;bra7:
  43.     bra    bra8        ;*L B0 00  [B0 80]
  44.     .blkb    0x80
  45.     .blkb    0x00        ;bra8:
  46.  
  47.     ; indexed test
  48.  
  49.     .radix    x
  50.  
  51.     adca    minus1,x8    ;*L C3 00  [C3 FF]
  52.     adca    zero,x8        ;   C3 00  [C3 00]
  53.     adca    two55,x8    ;   C3 00  [C3 FF]
  54.     adca    two56,x8    ;*L C3 00  [C3 00]
  55.  
  56.     adcd    minus1,x8    ;*L 83 00  [83 FF]
  57.     adcd    zero,x8        ;   83 00  [83 00]
  58.     adcd    two55,x8    ;   83 00  [83 FF]
  59.     adcd    two56,x8    ;*L 83 00  [83 00]
  60.  
  61.     asl    minus1,x8    ;*L 04 00  [04 FF]
  62.     asl    zero,x8        ;   04 00  [04 00]
  63.     asl    two55,x8    ;   04 00  [04 FF]
  64.     asl    two56,x8    ;*L 04 00  [04 00]
  65.  
  66.     bclr    1234,#minus1    ;*L 38 00 12 34  [38 FF 12 34]
  67.     bclr    1234,#zero    ;   38 00 12 34  [38 00 12 34]
  68.     bclr    1234,#two55    ;   38 00 12 34  [38 FF 12 34]
  69.     bclr    1234,#two56    ;*L 38 00 12 34  [38 00 12 34]
  70.  
  71.     bclr    12,x8,#minus1    ;*L 17 08 00 12  [17 08 FF 12]
  72.     bclr    12,x8,#zero    ;   17 08 00 12  [17 08 00 12]
  73.     bclr    12,x8,#two55    ;   17 08 00 12  [17 08 FF 12]
  74.     bclr    12,x8,#two56    ;*L 17 08 00 12  [17 08 00 12]
  75.  
  76.     bclr    1234,x,#minus1    ;*L 08 00 12 34  [08 FF 12 34]
  77.     bclr    1234,x,#zero    ;   08 00 12 34  [08 00 12 34]
  78.     bclr    1234,x,#two55    ;   08 00 12 34  [08 FF 12 34]
  79.     bclr    1234,x,#two56    ;*L 08 00 12 34  [08 00 12 34]
  80.  
  81.     bclr  minus1,x8,#two55    ;*L 17 08 FF FF  [17 08 FF FF]
  82.     bclr  zero,x8,#two55    ;   17 08 FF 00  [17 08 FF 00]
  83.     bclr  two55,x8,#two55    ;   17 08 FF FF  [17 08 FF FF]
  84.     bclr  two56,x8,#two55    ;*L 17 08 FF 00  [17 08 FF 00]
  85.  
  86.     brset    1234,#minus1,.+16    ;*L 3B 00 12 34 00 10
  87.                     ;  [3B FF 12 34 00 10]
  88.     brset    1234,#zero,.+16        ;   3B 00 12 34 00 10
  89.                     ;  [3B 00 12 34 00 10]
  90.     brset    1234,#two55,.+16    ;   3B 00 12 34 00 10
  91.                     ;  [3B FF 12 34 00 10]
  92.     brset    1234,#two56,.+16    ;*L 3B 00 12 34 00 10
  93.                     ;  [3B 00 12 34 00 10]
  94.  
  95.     brset    12,x8,#minus1,.+14    ;*L 8B 00 12 10  [8B FF 12 10]
  96.     brset    12,x8,#zero,.+14    ;   8B 00 12 10  [8B 00 12 10]
  97.     brset    12,x8,#two55,.+14    ;   8B 00 12 10  [8B FF 12 10]
  98.     brset    12,x8,#two56,.+14    ;*L 8B 00 12 10  [8B 00 12 10]
  99.  
  100.     brset    1234,x,#minus1,.+16    ;*L 09 00 12 34 00 10
  101.                     ;  [09 FF 12 34 00 10]
  102.     brset    1234,x,#zero,.+16    ;   09 00 12 34 00 10
  103.                     ;  [09 00 12 34 00 10]
  104.     brset    1234,x,#two55,.+16    ;   09 00 12 34 00 10
  105.                     ;  [09 FF 12 34 00 10]
  106.     brset    1234,x,#two56,.+16    ;*L 09 00 12 34 00 10
  107.                     ;  [09 00 12 34 00 10]
  108.  
  109.     brset    minus1,x8,#two55,.+14    ;*L 8B FF FF 10  [8B FF FF 10]
  110.     brset    zero,x8,#two55,.+14    ;   8B FF 00 10  [8B FF 00 10]
  111.     brset    two55,x8,#two55,.+14    ;   8B FF FF 10  [8B FF FF 10]
  112.     brset    two56,x8,#two55,.+14    ;*L 8B FF 00 10  [8B FF 00 10]
  113.  
  114.     cps    minus1,x8        ;*L 4F 00  [4F FF]
  115.     cps    zero,x8            ;   4F 00  [4F 00]
  116.     cps    two55,x8        ;   4F 00  [4F FF]
  117.     cps    two56,x8        ;*L 4F 00  [4F 00]
  118.  
  119.